package com.hiabr.iep.admin.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hiabr.iep.admin.po.User;
import com.hiabr.iep.admin.vo.req.LoginReqVo;
import com.hiabr.iep.admin.vo.req.RefreshTokenReqVo;
import com.hiabr.iep.admin.vo.req.UserPageReq;
import com.hiabr.iep.admin.vo.resp.LoginRespVo;

/**
 * <p>
 * 用户表 服务类
 * </p>
 */
public interface UserService extends IService<User> {

    /**
     * 登陆
     *
     * @param req
     * @return
     */
    LoginRespVo login(LoginReqVo req);

    /**
     * 登出
     */
    void logout();

    /**
     * 刷新token
     *
     * @param req
     * @return
     */
    LoginRespVo refreshToken(RefreshTokenReqVo req);

    /**
     * 分页查询用户
     *
     * @param req
     * @return
     */
    IPage<User> pageUser(UserPageReq req);
}
